#ifdef around Solaris/Linux/Darwin-specific error codes and replace them with their BSD equivalents if they are not available. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@110827 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/system_error b/include/system_error index f0897f6..8526f37 100644 --- a/include/system_error +++ b/include/system_error 
@@ -237,6 +237,10 @@  template <class _Tp> struct is_error_condition_enum  : public false_type {};   +// Some error codes are not present on all platforms, so we provide equivalents +// for them: + +  //enum class errc  struct errc  { @@ -281,18 +285,30 @@  no_child_process = ECHILD,  no_link = ENOLINK,  no_lock_available = ENOLCK, +#ifdef ENODATA  no_message_available = ENODATA, +#else + no_message_available = ENOMSG, +#endif  no_message = ENOMSG,  no_protocol_option = ENOPROTOOPT,  no_space_on_device = ENOSPC, +#ifdef ENOSR  no_stream_resources = ENOSR, +#else + no_stream_resources = ENOMEM, +#endif  no_such_device_or_address = ENXIO,  no_such_device = ENODEV,  no_such_file_or_directory = ENOENT,  no_such_process = ESRCH,  not_a_directory = ENOTDIR,  not_a_socket = ENOTSOCK, +#ifdef ENOSTR  not_a_stream = ENOSTR, +#else + not_a_stream = EINVAL, +#endif  not_connected = ENOTCONN,  not_enough_memory = ENOMEM,  not_supported = ENOTSUP, @@ -310,7 +326,11 @@  resource_unavailable_try_again = EAGAIN,  result_out_of_range = ERANGE,  state_not_recoverable = ENOTRECOVERABLE, +#ifdef ETIME  stream_timeout = ETIME, +#else + stream_timeout = ETIMEDOUT, +#endif  text_file_busy = ETXTBSY,  timed_out = ETIMEDOUT,  too_many_files_open_in_system = ENFILE,